<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"
      xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3">

<head>
    <meta charset="utf-8">
    <title></title>

</head>
<body>

<script type="text/javascript">
    function OnPageOfficeCtrlInit() {
        // PageOffice的初始化事件回调函数，您可以在这里添加自定义按钮
        pageofficectrl.AddCustomToolButton("运行无返回值的宏", "TestMacro1()", 1);
        pageofficectrl.AddCustomToolButton("运行有返回值的宏", "TestMacro2()", 1);
    }

    function TestMacro1() {
        let vbaStr = `Sub 宏1(params)
                       MsgBox params
                      End Sub`;
        /**
         * 执行VBA宏
         * @param {string} macroName - 宏名称（字符串类型，不能为空，必选）
         * @param {string} macroBody - 宏函数体（字符串类型，必选，空字符串表示调用文件中自身的宏）
         * @param {string} [macroParam] - 宏参数（字符串类型，只能传递一个参数，不能为空字符串，可选。）
         */
        pageofficectrl.RunMacro("宏1", vbaStr, "abc");

    }

    function TestMacro2() {
        let vbaStr = `Function myFunc1()
                       myFunc1 ="123"
                      End Function`;
        /**
         * 执行VBA宏
         * @param {string} macroName - 宏名称（字符串类型，不能为空，必选）
         * @param {string} macroBody - 宏函数体（字符串类型，必选，空字符串表示调用文件中自身的宏）
         * @param {string} [macroParam] - 宏参数（字符串类型，只能传递一个参数，不能为空字符串，可选。）
         */
        let returnValue = pageofficectrl.RunMacro("myFunc1", vbaStr);

        alert("返回值为:" + returnValue);
    }
</script>

    <div style="height:800px;width:auto;" th:utext="${pageoffice}">
    </div>
</body>

</html>
